package com.free.chat;

import org.noear.solon.Solon;
import org.noear.solon.core.handle.ContextPathFilter;
import org.noear.solon.swagger.annotation.EnableSwagger;
import org.noear.solon.web.cors.CrossFilter;
import org.noear.solon.web.staticfiles.StaticMappings;
import org.noear.solon.web.staticfiles.repository.FileStaticRepository;

@EnableSwagger
public class FreeChatApp {

    public static void main(String[] args) {
        Solon.start(FreeChatApp.class, args, app -> {
            //例：增加全局处理（用过滤器模式）
            app.filter(-1, new CrossFilter().allowedOrigins("*")); //加-1 优先级更高
            //使用专用过滤器
            app.filter(new ContextPathFilter("/api/"));
            // 文件访问前缀
            String filePrefix = Solon.cfg().get("file.prefix");
            // 文件资源位置
            String fileLocation = Solon.cfg().get("file.location");
            //====静态资源外部路径映射=====
            //添加本地绝对目录（本地路径不包含前缀部份。例：/img/logo.jpg 映射地址为：/data/chat/img/logo.jpg）
            StaticMappings.add(filePrefix, false,
                    new FileStaticRepository(fileLocation));
        });
    }
}
